//#include<iostream>
//using namespace std;
//int n,sum=0,Gcd;
//int num[105];
//bool mark[10005];
//int gcd(int a,int b)
//{
//	if(b==0)return a;
//	return gcd(b,a%b);
//}
//
//int main()
//{
//	cin>>n;
//	mark[0]=true;
//	for(int i=0;i<n;i++)
//	{
//		cin>>num[i];
//		mark[num[i]]=true;
//		if(i==0)Gcd=num[0];
//		else Gcd=gcd(Gcd,num[i]);
//		for(int j=0;j<=10000;j++)
//		{
//			if(j-num[i]>0&&mark[j-num[i]]==true)
//				mark[j]=true;
//		}
//	}
//	if(Gcd!=1)
//	{
//		cout<<"INF";
//		return 0;
//	}
//	else
//	for(int j=0;j<=10000;j++)
//	{
//		if(!mark[j])sum++;
//	}
//	cout<<sum;
//	
//	return 0;
//}
//#include <iostream>
//#include<algorithm>
//using namespace std;
//int s[9];
//int str[10] = { 0,1,2,3,4,5,6,7,8,9 };
//int ans[10] = { 0,1,2,3,4,5,6,7,8,9 };
//bool pd()
//{
//	int a1 = str[1] + str[2] + str[3];
//	int a2 = str[4] + str[5] + str[6];
//	int a3 = str[7] + str[8] + str[9];
//	int a4 = str[1] + str[5] + str[9];
//	int a5 = str[2] + str[5] + str[8];
//	int a6 = str[3] + str[5] + str[7];
//	int a7 = str[1] + str[4] + str[7];
//	int a8 = str[3] + str[6] + str[9];
//	for (int i = 1; i < 10; i++)
//	{
//		if (s[i - 1] != 0 && s[i - 1] != str[i])
//		{
//			return false;
//		}
//	}
//	if (a1 == a2 && a2 == a3 && a3 == a4 && a4 == a5 && a5 == a6 && a6 == a7 && a7 == a8)return true;
//	return false;
//}
//int main()
//{
//	int sum = 0;
//	for (int i = 0; i < 9; i++)
//	{
//		cin >> s[i];
//	}
//	while (next_permutation(str+1, str + 10))
//	{
//		if (pd())
//		{			
//			if (sum >= 1)
//			{
//				for (int i = 1; i <= 9; i++) {
//					cout << str[i] << " ";
//				}
//				cout << endl;
//				cout << "Too Many";
//				return 0;
//			}
//			sum++;
//			for (int i = 1; i <= 9; i++) {
//				ans[i] = str[i];
//			}
//		}
//	}
//	if (sum == 1)
//	{
//		for (int i = 1; i <= 9; i +=3)
//		{
//			printf("%d %d %d\n", ans[i], ans[i + 1], ans[i + 2]);
//		}
//	}
//	return 0;
//}



